
#pragma once

#include <cstring>
#include <map>
#include <string>
#include <memory>
#include "media_packet.h"

class MediaSourceManager;
class Subscribe   : public std::enable_shared_from_this<Subscribe>
{
public:
    Subscribe();
private:
    
};

class MediaSource : public std::enable_shared_from_this<MediaSource>
{
private:
    MetaData m_media_metat;
    std::map<std::string, std::shared_ptr<Subscribe>> m_subscribe_map;
};

class MediaSourceManager : public std::enable_shared_from_this<MediaSourceManager>
{
public:
    MediaSourceManager();
private:
    std::map<std::string,std::shared_ptr<MediaSource>> m_media_source_map;
};
